First create a Microsoft Teams team:

<Accordion title="Create a new Team">

## Create a new Team

Go to the Microsoft Teams desktop app and create a new team.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707202577/ghoizqzywicyipr7nbrm.png"
  alt="Microsoft Teams team"
/>

Create a team from from a template and use the `From Scratch` template.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707202897/dhftnz4zc0jsuay6eh2c.png"
  alt="Microsoft Teams template"
/>

Choose `Public` as the kind of a team.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707203017/s2buhk5yncmortzlvge5.png"
  alt="Microsoft Teams public team"
/>

Call it `Elementary` (or whatever you prefer) and connect it to the workspace of your choice.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707203137/jw2wgscz9cruarapmzpj.png"
  alt="Microsoft Teams Elementary team"
/>

</Accordion>

Now it's time to set up a webhook. You have two options for creating a webhook:

<Accordion title="Option 1: Create Teams Webhook using Connectors (Legacy)">

## Create a webhook using Connectors

**Note:** Microsoft 365 Connectors are being deprecated. Consider using Power Automate Workflows (Option 2) for new integrations.

Go to a channel in your Team and choose `Manage channel`

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707203620/npn3p0tsmdvk723etyxn.png"
  alt="Teams manage channel"
/>

Choose `Edit` connectors.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707203932/utnld7rzvgiwfgumzhtv.png"
  alt="Teams edit connectors"
/>

Search for `Incoming webhook` and choose `Add`.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707204047/esvfhescsxgttanzv3kx.png"
  alt="Teams add incoming webhook"
/>

Choose `Add` again and add name your webhook `ElementaryWebhook` (or whatever you prefer). And `Create` the webhook.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707204465/mcncjpvsnptd0gcsbb21.png"
  alt="Teams create webhook"
/>

Copy the URL of the webhook.

<img
  src="https://res.cloudinary.com/dgxyrldax/image/upload/v1707204718/gkt2uhz2qaow1lm1frnp.png"
  alt="Teams copy URL webhook"
/>

</Accordion>

<Accordion title="Option 2: Create Teams Webhook using Power Automate (Recommended)">

## Create a webhook using Power Automate

You can create a webhook using Power Automate in two ways:

### Method 1: Directly from Teams (Recommended)

1. Go to your Teams channel
2. Click the three dots (...) next to the channel name
3. Select `Workflows`
4. Choose the template "Post to channel when a webhook request is received"
5. Copy the webhook URL

### Method 2: From Power Automate Website

1. Go to [Power Automate](https://flow.microsoft.com)
2. Create a new instant cloud flow
3. Search for "When a HTTP request is received" as your trigger
4. In the flow, add a "Post adaptive card in a chat or channel" action
5. Configure the team and channel where you want to post
6. Save the flow and copy the HTTP POST URL

**Important Notes:**

- When using Power Automate Workflows, Elementary CLI cannot directly verify if messages were successfully delivered. You'll need to monitor your workflow runs in Power Automate to check for any delivery issues.
- Workflows can't post in private channels as a flow bot, but can post on behalf of a user
- Workflows can only be created in your default environment

</Accordion>

Lastly, pass the webhook URL (from either method) to the CLI as a param or in the `config.yml` file:

<Accordion title="Teams config as CLI params">

## Webhook:

Use the webhook URL when you execute edr monitor using the option `-tw, --teams-webhook`:

```shell
edr monitor --teams-webhook <your_teams_webhook_url>
```

</Accordion>

<Accordion title="Teams config as in config.yml">

The CLI reads the Teams integration from a file, copy it into a file called config.yml.
Create it here: `HOME_DIR/.edr/config.yml`

Here is the format in the yml itself:

## Webhook:

```yml config.yml
teams:
  teams_webhook: <your_teams_webhook_url>
```

</Accordion>
